const HOST = require('../../config.js').host

var app = getApp()

Page({
  data: {
    circleList: [],//圆点数组
    awardList: [],//奖品数组
    colorCircleFirst: '#FFDF2F',//圆点颜色1
    colorCircleSecond: '#FE4D32',//圆点颜色2
    colorAwardDefault: '#F5F0FC',//奖品默认颜色
    colorAwardSelect: '#ffe400',//奖品选中颜色
    indexSelect: 0,//被选中的奖品index
    idxSelect:0,
    timeOut:960,
    isRunning: false,//是否正在抽奖
    resultType:"",
    userId:"",
    imageAward: [
      '../../assets/images/coupons.png',
      '../../assets/images/menpiao.png',
      '../../assets/images/coupons.png',
      '../../assets/images/ditu.png',
      '../../assets/images/coupons.png',
      '../../assets/images/ditu.png',
      '../../assets/images/coupons.png',
      '../../assets/images/ditu.png',
    ],//奖品图片数组
  },

  onLoad(options) {

    let self = this

    wx.login({
      success(res) {
        if (res.code) {
          wx.request({
            url: HOST + 'v1/login/' + res.code,
            method: 'GET',
            success(res) {
              if (res.data.sysCode === 1) {
                self.setData
                ({
                  userId: res.data.data,
                })
              
                self.judgeIsLuckyDraw();
              }
            }
          })
        } else {
          console.log('获取用户登录态失败！' + res.errMsg)
        }

      }
    })

    
  },
  //开始游戏
  startGame: function () {
    if (this.data.isRunning) return
    this.setData({
      isRunning: true
    })
    this.luckyDraw();
    var _this = this;
    var idxSelect = 0
    var i = 0;
    var timer = setInterval(function () {
      idxSelect++;
      //这里我只是简单粗暴用y=30*x+200函数做的处理.可根据自己的需求改变转盘速度
      i += 30;
      



      if (i == _this.data.timeOut) {
        console.log(i, _this.data.timeOut)
        //去除循环
        clearInterval(timer)
        //获奖提示
        let contentTitle;
        if (_this.data.resultType == "B")
        {
          contentTitle = "您已获得价值100元优惠券";

        }
        else if (_this.data.resultType == "A"){
          contentTitle = "您已获得价值380元印象西湖演出门票一张";
        }
        else{
          contentTitle = "您已获得地图一份";
        }
        wx.showModal({
          title: '恭喜您',
          content: contentTitle,
          showCancel: false,//去掉取消按钮
          success: function (res) {
           
            if (res.confirm) {
              // console.log("1234567890"); // 确定按钮点击事件
              _this.setData({
                isRunning: false
              })
             
              wx.redirectTo({
                url: `../giftDetail/giftDetail?prizeType=${_this.data.resultType}`,
              })
            }
          }
        })
      }
      idxSelect = idxSelect % 8;
      _this.setData({
        idxSelect: idxSelect
      })
    }, (200))
  },



  judgeIsLuckyDraw() {
    let self = this;
    wx.request({
      url: HOST + 'v1/winrecord/checkIsHave/' + self.data.userId + "," + "1",
      method: 'GET',

      success: function (res) {
    
        if (res.data.sysCode === 1) {
          if(res.data.data === false){
          
            self.setUserInterFace();
          }
          else{
    
            let prizeType = "D";
            
            wx.redirectTo({
              url: `../giftDetail/giftDetail?prizeType=${prizeType}`,
            })
          }
        }
      }
    })
  },

 setUserInterFace()
 {
   var _this = this;
   //圆点设置
   var leftCircle = 7.5;
   var topCircle = 7.5;
   var circleList = [];
   for (var i = 0; i < 24; i++) {
     if (i == 0) {
       topCircle = 15;
       leftCircle = 15;
     } else if (i < 6) {
       topCircle = 7.5;
       leftCircle = leftCircle + 102.5;
     } else if (i == 6) {
       topCircle = 15
       leftCircle = 620;
     } else if (i < 12) {
       topCircle = topCircle + 94;
       leftCircle = 620;
     } else if (i == 12) {
       topCircle = 565;
       leftCircle = 620;
     } else if (i < 18) {
       topCircle = 570;
       leftCircle = leftCircle - 102.5;
     } else if (i == 18) {
       topCircle = 565;
       leftCircle = 15;
     } else if (i < 24) {
       topCircle = topCircle - 94;
       leftCircle = 7.5;
     } else {
       return
     }
     circleList.push({ topCircle: topCircle, leftCircle: leftCircle });
   }
   this.setData({
     circleList: circleList
   })
   //圆点闪烁
   setInterval(function () {
     if (_this.data.colorCircleFirst == '#FFDF2F') {
       _this.setData({
         colorCircleFirst: '#FE4D32',
         colorCircleSecond: '#FFDF2F',
       })
     } else {
       _this.setData({
         colorCircleFirst: '#FFDF2F',
         colorCircleSecond: '#FE4D32',
       })
     }
   }, 500)
   //奖品item设置
   var awardList = [];
   //间距,怎么顺眼怎么设置吧.
   var topAward = 25;
   var leftAward = 25;
   for (var j = 0; j < 8; j++) {
     if (j == 0) {
       topAward = 25;
       leftAward = 25;
     } else if (j < 3) {
       topAward = topAward;
       //166.6666是宽.15是间距.下同
       leftAward = leftAward + 166.6666 + 15;
     } else if (j < 5) {
       leftAward = leftAward;
       //150是高,15是间距,下同
       topAward = topAward + 150 + 15;
     } else if (j < 7) {
       leftAward = leftAward - 166.6666 - 15;
       topAward = topAward;
     } else if (j < 8) {
       leftAward = leftAward;
       topAward = topAward - 150 - 15;
     }
     var imageAward = this.data.imageAward[j];
     awardList.push({ topAward: topAward, leftAward: leftAward, imageAward: imageAward });
   }
   this.setData({
     awardList: awardList
   })
 },

 /**
  * 抽奖
  */
 luckyDraw() {
   let self = this;
   wx.request({
     url: HOST + 'v1/winrecord/saveWinRecord',
     method: 'POST',
     data: {
       userId: self.data.userId,
       activityId: "1"
     },
     success: function (res) {
       if (res.data.sysCode === 1) {
         
         if (res.data.data.resultType === "A") 
         {
           
           self.setData({
             indexSelect : 1,
             resultType : "A",
             timeOut:990
             })
         }
         else if (res.data.data.resultType === "B")
         {
           self.setData({
             indexSelect : 2,
             resultType:"B",
             timeOut:1020
           })

         }
         else
         {
           self.setData({
             indexSelect : 0,
             resultType:"C",
             timeOut:1050
           })
         }
       }
     }
   })
 },
})
